﻿<?xml version="1.0" encoding="utf-8" ?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" 
		xmlns:maml="http://ddue.schemas.microsoft.com/authoring/2003/5" 
		xmlns:doc="http://ddue.schemas.microsoft.com/authoring/internal"
		targetNamespace="http://ddue.schemas.microsoft.com/authoring/2003/5" 
		elementFormDefault="qualified"
        attributeFormDefault="unqualified"
        >

	<!-- Schema documentation -->
	<annotation>
		<documentation>
			This schema definition defines common structure types for the CS Schema.
			This schema is part of the common layer.			
		</documentation>
	</annotation>

	<!-- include and import declarations -->
	<include schemaLocation="block.xsd"/>


    <group name="stepGroup">
        <choice>
            <element ref="maml:step"/>
            <element ref="maml:procedure"/>
        </choice>
    </group>

    <complexType name="stepsType" mixed="false">
        <choice minOccurs="0" maxOccurs="unbounded">
            <group ref="maml:stepGroup"/>
            <element name="conditionalSection">
                <complexType>
                    <sequence>
                        <element ref="maml:conditions"/>
                        <element name="conditionalContent" type="maml:stepsType"/>
                    </sequence>
                </complexType>
            </element>
        </choice>
        <attributeGroup ref="maml:contentIdentificationSharingAndConditionGroup"/>
	<attribute name="class" use="required">
		<annotation>
			<documentation>
				The class attribute describes the type of list.
			</documentation>
		</annotation>
		<simpleType>
			<restriction base="string">
				<enumeration value="bullet"/>
				<enumeration value="ordered"/>
			</restriction>
		</simpleType>
	</attribute>
    </complexType>
    
    <element name="steps" type="maml:stepsType">
        <annotation>
            <documentation>
            This element is a collection of steps in a procedure.
            </documentation>
            <appinfo>
                <doc:localizable>n/a</doc:localizable>
				<doc:type>structure</doc:type>
			</appinfo>
        </annotation>
    </element>
    
    <complexType name="procedureStepType" mixed="false">
        <sequence>
            <element ref="maml:content"/>
            <element ref="maml:steps" minOccurs="0"/>
        </sequence>
        <attributeGroup ref="maml:contentIdentificationSharingAndConditionGroup"/>
    </complexType>
    
    <element name="step" type="maml:procedureStepType">
        <annotation>
            <documentation>
            This element is a step in a procedure.
            </documentation>
            <appinfo>
                <doc:localizable>n/a</doc:localizable>
				<doc:type>structure</doc:type>
			</appinfo>
        </annotation>
    </element>

    <complexType name="procedureType" mixed="false">
        <sequence>
            <element ref="maml:title"/>
            <element ref="maml:steps"/>
            <element ref="maml:conclusion" minOccurs="0"/>
        </sequence>
        <attributeGroup ref="maml:contentIdentificationSharingAndConditionGroup"/>
    </complexType>

    <element name="procedure" type="maml:procedureType">
        <annotation>
            <documentation>
            This element is the root of a procedure.
            </documentation>
            <appinfo>
                <doc:localizable>n/a</doc:localizable>
				<doc:type>section</doc:type>
			</appinfo>
        </annotation>
    </element>
	
</schema>